repo: Only load /etc/ostree/remotes.d for system repo
authorColin Walters <walters@verbum.org>
Mon, 26 May 2014 22:36:03 +0000 (18:36 -0400)
committerColin Walters <walters@verbum.org>
Mon, 26 May 2014 22:38:35 +0000 (18:38 -0400)
They shouldn't be loaded for random test/personal repositories.  Doing
so triggers another bug in that we return them from
ostree_repo_get_config() when then causes clients to write them out
permanently to disk with ostree_repo_write_config().  This caused test
suite failures.

src/libostree/ostree-repo.c

index 41ba5f873d36a8bd8481a2917e8fe91d1fa5bab7..210ce36620eff531066aec63cee829e2173f5e72 100644 (file)
@@ -682,8 +682,15 @@ ostree_repo_open (OstreeRepo    *self,
                                             TRUE, &self->enable_uncompressed_cache, error))
     goto out;
 
-  if (!append_remotes_d (self, cancellable, error))
-    goto out;
+  {
+    gs_unref_object GFile *default_repo_path = get_default_repo_path ();
+    
+    if (g_file_equal (self->repodir, default_repo_path))
+      {
+        if (!append_remotes_d (self, cancellable, error))
+          goto out;
+      }
+  }
 
   if (!gs_file_open_dir_fd (self->objects_dir, &self->objects_dir_fd, cancellable, error))
     goto out;